package com.lndsnx.listenerTest.ActionListenerTest;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

/**
 * @author lndsnx
 * @Description 动作监听测试 鼠标左键点击，空格
 * @Version 1.0.0
 * @Date 2023/5/11,0011 19:32
 */
public class MyJFrame extends JFrame implements ActionListener {

    /**
     * 创建一个按钮对象
     */
    JButton jbt1 = new JButton("点我啊");
    /**
     * 创建一个按钮对象
     */
    JButton jbt2 = new JButton("继续点我啊");

    public MyJFrame(){
        // 设置宽高
        this.setSize(603, 680);
        // 设置界面的标题
        this.setTitle("事件测试");
        // 设置界面置顶
        this.setAlwaysOnTop(true);
        // 设置界面居中
        this.setLocationRelativeTo(null);
        // 设置关闭模式 默认 1 (0-不关闭，1,-关闭窗口，不退出程序，2-全部窗口关闭，退出程序，3-关掉任意一个退出程序)
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        // 取消默认的居中设置，只有取消了才会按照xy轴的形式添加组件
        this.setLayout(null);

        // 设置位置和宽高
        jbt1.setBounds(0,0,100,50);
        jbt1.addActionListener(this);
        // 设置位置和宽高
        jbt2.setBounds(100,0,100,50);
        jbt2.addActionListener(this);

        this.getContentPane().add(jbt1);
        this.getContentPane().add(jbt2);

        // 显示窗口,建议写在最后
        this.setVisible(true);
    }

    public void actionPerformed(ActionEvent event) {
        // 对当前按钮进行判断
        // 获取当前被操作的按钮对象
        Object source = event.getSource();
        if (source == jbt1){
            jbt1.setSize(200,200);
        }else if (source == jbt2){
            Random r = new Random();
            jbt2.setLocation(r.nextInt(500),r.nextInt(500));
        }
    }
}
